package leetcode.editor.cn;

//给你一个整数 n ，请你判断 n 是否为 丑数 。如果是，返回 true ；否则，返回 false 。 
//
// 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 
//
// 
//
// 示例 1： 
//
// 
//输入：n = 6
//输出：true
//解释：6 = 2 × 3 
//
// 示例 2： 
//
// 
//输入：n = 8
//输出：true
//解释：8 = 2 × 2 × 2
// 
//
// 示例 3： 
//
// 
//输入：n = 14
//输出：false
//解释：14 不是丑数，因为它包含了另外一个质因数 7 。
// 
//
// 示例 4： 
//
// 
//输入：n = 1
//输出：true
//解释：1 通常被视为丑数。
// 
//
// 
//
// 提示： 
//
// 
// -231 <= n <= 231 - 1 
// 
// Related Topics 数学 
// 👍 299 👎 0

//Java：丑数
public class UglyNumber_263{
    public static void main(String[] args) {
        Solution solution = new UglyNumber_263().new Solution();
        // TO TEST
    }
    
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public boolean isUgly(int n) {
        if(n<1) return false;
        if(n==1) return true;
        int[] x=new int[]{2,3,5};
        while(n>1){
            int tmp=-1;
            for (int i=0; i < 3; i++) {
                if(n%x[i]==0){
                    tmp = i;
                    break;
                }
            }
            if(tmp<0) return false;
            n/=x[tmp];
        }
        return true;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}